package 面向对象中级.继承;

public class Animal {//动物
    //动物（Animal）具有行为：吃（eat）、睡觉（sleep），属性 年龄(age)
    public int age;

    public void eat() {
        System.out.println("动物 eat");
    }

    public void sleep() {
        System.out.println("动物 sleep");
    }
}

class Rabbit extends Animal{//兔子
    //兔子（Rabbit）属性 颜色(color)
    public String color;

    public void eat(){//方法的覆盖|重写，子类重写了父类的eat方法
        System.out.println("老子是兔子，我吃草~~");
    }
}

class Tiger extends Animal {//老虎
    //老虎（Tiger）属性 体重()
    public int weight;

    //*编译时看左(数据类型)，运行时看右(实际对象)
    public static void main(String[] args) {//方法和属性一定要放到类里
        Rabbit rabbit=new Rabbit();
        rabbit.eat();//？

        Animal animal=new Rabbit();
        //编译时看左:你这个变量，能调用什么方法，看左边====>Animal
        //运行时看右：代码执行的时候，要看谁干活====>Rabbit
        animal.eat();//?
    }
}


